package com.example.prom.config;

import com.example.prom.exception.ApiException;
import com.example.prom.ok.y2022.enums.ResponseErrorCodeEnum;
import com.example.prom.utils.ResponseResult;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;


/**
 * 全局异常类
 */
@RestControllerAdvice
public class ExceptionControllerAdvice {

    //自定义异常类型捕捉，统一响应体，规范响应码，不能根据字段灵活返回code和msg。运行时异常不需要很复杂的code和msg，ResultCodeEnum可以满足
    @ExceptionHandler(ApiException.class)
    public ResponseResult<String> apiExceptionHandler(ApiException apiException){
        return ResponseResult.build(ResponseErrorCodeEnum.INTERNAL_OTHER_EXCEPTION, apiException.getMsg());
    }


}
